A common problem associated with data storage is corruption of portions of a file system on a storage medium. Some digital video recording software utilizes fixed tracks to provide a “pause buffer” that can be used to pause or rewind live television. Other software will allow the file system to decide where to store the recording on the hard disk. The disadvantage of this approach is that certain hard disk tracks will receive most of the writes causing those tracks to wear at a higher rate than the rest of the disk.
Another concern associated with data storage and reading includes efficiency. For example, it is often desirable to utilize the least amount of resources as possible when writing and reading data to and from a storage device. To address these concerns, a cache system comprising a relatively small portion of a storage medium is typically employed. Due to the size of a cache, reading data from a cache is often much quicker than reading data from the main platter of a storage medium. In many cache systems, data is written to the cache prior to writing data to the main platter of a storage medium. In addition, writing data to the platter may also occur in an order that is different from the order of the original commands implementing the writes. Cache systems commonly write data to the platter in such a way as to minimize scanning of a storage medium during writing operations. The order of writes on a platter in a cache system tends to be more dependent on the write locations on the storage medium rather than the order in which write commands are issued.
Accordingly, there is a need for a data storage system to provide efficient writing of data.